<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /*
         //字面量对象    key:value  键：值对
         var person={
             name:"..",
             age:15,
             height:"170cm",
             read:function(){
                 console.log("读书。。");
             },
             say:function(){
                  console.log("跳舞。。");
             }
         }

         使用属性和方法
         用.或[""]
         console.log(person.name);
          person.say();
          尽量不使用[]
          console.log(person.["age"]);
          person.['read']();


          Object:
          var dog=new Object();
          dog.name="huahua";
          dog.age=3;
          dog.gender="公";
          dog.bark=function(){
              console.log("叫。。");
          }
          dog.eat=function(){
              console.log("爱吃骨头。。");
          }


          构造函数：
          this 指针，会随环境的变化而变化
          function Dmeo(name,age){
              this.name=name;
              this.age=age;
              this.study=function(){
                  console.log("学习。。");
              }
              this.coding=function(){
                  console.log("敲代码。。");
              }
          }


          原型对象：默认每一个对象都有一个原型对象
          原型属性：prototype   
          Dmeo.prototype.play=funvtion(){
              console.log(this.name+"玩游戏。。");
          }

          var s1=new Dmeo("李四",13);
          var s2=new Dmeo("张三",13);
          s1.play();
          s2.play();

        JavaScript API：hasOwnProperty()
        遍历
        const:声明的是一个常量  PI=3.14;
            常量不能修改    变量可以修改
        在forin里面只能使用[]语法
          for (const key in Dmeo) {
           if (Dmeo.hasOwnProperty(key)) {
               const element = object[key];
               
           }
       }
        */
       var my={
           foo:"bar",
           func:function(){
               var self=this;
               console.log(this.foo); //bar
               console.log(self.foo);  //bar
               (function(){
                console.log(this.foo);  //undefined
               console.log(self.foo);  //bar
               })()
           }
       };
       my.func();
    </script>
</body>
</html>